<?php
header('Content-Type: application/json; charset=utf-8');

// 引入数据库配置
$dbConfig = include('db_config.php');

// 创建数据库连接
try {
    $dsn = "mysql:host=" . $dbConfig['host'] . ";dbname=" . $dbConfig['dbname'] . ";charset=" . $dbConfig['charset'];
    $pdo = new PDO($dsn, $dbConfig['username'], $dbConfig['password']);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 创建 mi_users 表
    $createUsersTable = "
        CREATE TABLE IF NOT EXISTS mi_users (
            id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
            账号 VARCHAR(255) NOT NULL,
            密码 VARCHAR(255) NOT NULL,
            昵称 VARCHAR(255) DEFAULT NULL,
            头像 VARCHAR(255) DEFAULT NULL,
            QQ VARCHAR(255) DEFAULT NULL,
            邮箱 VARCHAR(255) DEFAULT NULL,
            性别 VARCHAR(255) DEFAULT NULL,
            生日 VARCHAR(255) DEFAULT NULL,
            身份 VARCHAR(255) DEFAULT NULL,
            封禁 VARCHAR(255) DEFAULT '假',
            封禁原因 TEXT DEFAULT NULL,
            余额 VARCHAR(255) DEFAULT NULL,
            签到次数 VARCHAR(255) DEFAULT NULL,
            签到日期 VARCHAR(255) DEFAULT NULL,
            上传文件数量 VARCHAR(255) DEFAULT NULL,
            发布数量 VARCHAR(255) DEFAULT NULL,
            消息记录 TEXT DEFAULT NULL,
            QQ互联 VARCHAR(255) DEFAULT NULL,
            签名 VARCHAR(255) DEFAULT NULL,
            介绍 TEXT DEFAULT NULL,
            备注 TEXT DEFAULT NULL,
            头像框 VARCHAR(255) DEFAULT NULL,
            已拥有塔罗 TEXT DEFAULT NULL,
            使用塔罗 VARCHAR(255) DEFAULT NULL,
            已拥有骰子 TEXT DEFAULT NULL,
            使用骰子 VARCHAR(255) DEFAULT NULL,
            地址省 VARCHAR(255) DEFAULT NULL,
            地址市 VARCHAR(255) DEFAULT NULL,
            地址县 VARCHAR(255) DEFAULT NULL,
            地址镇 VARCHAR(255) DEFAULT NULL,
            详细地址 VARCHAR(255) DEFAULT NULL,
            会员时间 VARCHAR(255) DEFAULT NULL,
            是否会员 VARCHAR(255) DEFAULT '假',
            上传视频数量 VARCHAR(255) DEFAULT NULL
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    ";

    // 创建 mi_videos 表
    $createVideosTable = "
        CREATE TABLE IF NOT EXISTS mi_videos (
            id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
            上传者用户的id VARCHAR(255) NOT NULL,
            视频标题 VARCHAR(255) NOT NULL,
            视频介绍 TEXT DEFAULT NULL,
            视频时长 VARCHAR(255) DEFAULT NULL,
            视频格式 VARCHAR(255) DEFAULT NULL,
            获赞数量 VARCHAR(255) DEFAULT NULL,
            视频链接 VARCHAR(255) NOT NULL,
            视频封面 VARCHAR(255) DEFAULT NULL,
            视频备注 TEXT DEFAULT NULL,
            上传时间 VARCHAR(255) DEFAULT NULL,
            是否已审核 VARCHAR(255) DEFAULT '假',
            审核者的用户id VARCHAR(255) DEFAULT NULL,
            拒绝原因 TEXT DEFAULT NULL
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    ";

    // 创建 mi_file 表
    $createFilesTable = "
        CREATE TABLE IF NOT EXISTS mi_file (
            id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
            上传者用户的id VARCHAR(255) NOT NULL,
            文件标题 VARCHAR(255) NOT NULL,
            文件介绍 TEXT DEFAULT NULL,
            文件大小 VARCHAR(255) DEFAULT NULL,
            文件格式 VARCHAR(255) DEFAULT NULL,
            获赞数量 VARCHAR(255) DEFAULT NULL,
            文件链接 VARCHAR(255) NOT NULL,
            文件封面 VARCHAR(255) DEFAULT NULL,
            文件图标 VARCHAR(255) DEFAULT NULL,
            文件备注 TEXT DEFAULT NULL,
            上传时间 VARCHAR(255) DEFAULT NULL,
            是否已审核 VARCHAR(255) DEFAULT '假',
            审核者的用户id VARCHAR(255) DEFAULT NULL,
            拒绝原因 TEXT DEFAULT NULL
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    ";

    // 创建 mi_bbs 表
    $createBbsTable = "
        CREATE TABLE IF NOT EXISTS mi_bbs (
            id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
            发布者用户的id VARCHAR(255) NOT NULL,
            文章标题 VARCHAR(255) NOT NULL,
            文章介绍 TEXT DEFAULT NULL,
            文章内容 LONGTEXT DEFAULT NULL,
            文章类型 VARCHAR(255) DEFAULT NULL,
            获赞数量 VARCHAR(255) DEFAULT NULL,
            附加链接 VARCHAR(255) DEFAULT NULL,
            文章封面 VARCHAR(255) DEFAULT NULL,
            文章评论 TEXT DEFAULT NULL,
            文章发布时间 VARCHAR(255) DEFAULT NULL,
            文章备注 TEXT DEFAULT NULL,
            是否已审核 VARCHAR(255) DEFAULT '假',
            审核者的用户id VARCHAR(255) DEFAULT NULL,
            拒绝原因 TEXT DEFAULT NULL
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    ";

    // 执行创建表的 SQL 语句
    $pdo->exec($createUsersTable);
    $pdo->exec($createVideosTable);
    $pdo->exec($createFilesTable);
    $pdo->exec($createBbsTable);

// 数据表创建成功后重定向到安装成功页面
    header('Location: 安装成功.html');
    exit(); // 确保在重定向后脚本停止执行

} catch (PDOException $e) {
    // 捕获异常并返回错误信息
    $errorResult = [
        'status' => 'error',
        'message' => '数据库操作失败：' . $e->getMessage()
    ];
    echo json_encode($errorResult, JSON_UNESCAPED_UNICODE);
}
?>